#ifndef __MCD_RENDERADV_DX11_DX11FIXEDFUNCTIONPIPELINE__
#define __MCD_RENDERADV_DX11_DX11FIXEDFUNCTIONPIPELINE__

#include "../ShareLib.h"
#include "Dx11IncludeFwd.h"

//#include "../../../MCD/Core/Math/Vec2.h"
//#include "../../../MCD/Core/Math/Vec3.h"
//#include "../../../MCD/Core/Math/Vec4.h"
#include "../../../MCD/Core/Math/Mat44.h"

namespace MCD
{
	/*! Dx11RenderContext
		\NOTE Access Dx11RenderContext methods only if after a Dx11Window is created.
	*/
	class MCD_RENDERADV_API Dx11RenderContext
	{
	public:
		enum
		{
			MAX_TRANSFORMS = 16
		};

		/*! @param type 0=WORLD, 1=VIEW, 2=PROJECTION, 3-10=TEXTURE0-7
		*/
		static void setTransform(size_t type, const Mat44f& transform);

		static const Mat44f& getTransform(size_t type);

	};	// Dx11RenderContext

}	// namespace MCD

#endif	// __MCD_RENDERADV_DX11_DX11FIXEDFUNCTIONPIPELINE__